package jk.fox.invocation.invoker;

import java.lang.reflect.Method;

/**
 * Rpc方法执行器
 */
public interface Invoker {
    /**
     * 根据方法对象执行方法
     * @param instance
     * @param method
     * @param parameters
     * @return
     * @throws Exception
     */
    Object invoke(Object instance,Method method, Object[] parameters) throws Exception;

    /**
     * 根据方法名执行方法
     * @param instance
     * @param method
     * @param parameterTypes
     * @param parameters
     * @return
     * @throws Exception
     */
    Object invoke(Object instance,String method,String[] parameterTypes,Object[] parameters)throws Exception;

}
